package projeto.administrativo.colaboradorexterno.cih;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

import nucleo.comuns.visao.NucleoTab;
import plataforma.cih.PainelDuploListbox;
import projeto.ramoAtividade.cdp.RamoAtividade;

public class AbaRamoAtividade extends NucleoTab {

	PainelDuploListbox painelRamo;

	public AbaRamoAtividade() {

		montar();
	}

	private void montar() {
		setNomeTab("Ramos de Atividade");

		painelRamo = new PainelDuploListbox() {

			@Override
			public String recuperarLabel(Object obj) {
				RamoAtividade ramo = (RamoAtividade) obj;

				return ramo.getDescricao();
			}
		};

		setConteudoTab(painelRamo);

	}

	public boolean isValid() {

		return true;
	}

	public Set<RamoAtividade> getSetRamoAtividadeSelecionados() {
		
		return new HashSet(painelRamo.getSelecionados());
	}

	public void setRamoAtividade(Set<RamoAtividade> ramoAtividade,
			List<RamoAtividade> todosRamosAtividade) {
		// converter set pra lista		
		List<RamoAtividade> listSelecionados = new ArrayList<RamoAtividade>(ramoAtividade);
		painelRamo.preencherComDados(todosRamosAtividade, listSelecionados, new ComparadorRamoAtividade());

	}
	
	public class ComparadorRamoAtividade implements Comparator<RamoAtividade>{

		@Override
		public int compare(RamoAtividade o1, RamoAtividade o2) {
		//	return (-1) * o1.getDescricao().compareTo(o2.getDescricao());
			return  o1.getDescricao().compareTo(o2.getDescricao());
		}
		
		
		
	}
	
	
	
	
	
	

}
